The invention relates generally to multi objective evolutionary computation, and more particularly to a system and method for implementing a multi objective evolutionary algorithm on a programmable logic hardware device.
Evolutionary algorithms refer to stochastic search techniques that are modeled after the process of natural biological evolution. Evolutionary algorithms operate on a population of potential solutions to a problem by applying the principle of the survival of the fittest to produce better solutions. At each generation, a new set of solutions is created by the process of selecting individuals according to their level of fitness or performance in the problem-solving task and breeding them together using genetic operators. This process leads to the evolution of populations of individuals that are better suited to their problem-solving task environment than the individuals that they were created from, just as in natural evolution.
Evolutionary algorithms have been traditionally deployed on general-purpose computational systems. Parallel and distributed computing techniques have been employed on general-purpose computational systems to improve the computational efficiency of an evolutionary algorithm. Since evolutionary algorithms generally work with a population of solutions, significant computational speed-ups may be achieved by parallelizing the fitness computation. In addition, distributed evolutionary computing techniques have been employed when the problem-solving may be speeded up by problem decomposition. However, for the efficient execution of applications requiring high-frequency multi-objective optimization constrained by the size of the computational unit, it would be desirable to develop a multi-objective evolutionary technique that enables high optimization speed-ups with a small computational footprint.